23758
1503
Non voglio rinominare un ramo remoto, come descritto in Rinomina ramo principale per repository Git sia locali che remoti.
Come posso rinominare un ramo locale che non è stato inviato a un ramo remoto?
Nel caso in cui sia necessario rinominare anche il ramo remoto: come faccio a rinominare il nome di un ramo locale e remoto di Git 
1
2
Il prossimo
Se vuoi rinominare un ramo mentre sei puntato a qualsiasi ramo, fai:
git branch -m  
Se vuoi rinominare il ramo corrente, puoi fare:
git branch -m 
Un modo per ricordarlo è -m sta per "move" (o mv), che è il modo in cui rinominate i file. Anche l'aggiunta di un alias potrebbe aiutare. A tale scopo, eseguire quanto segue:
git config - alias globale.rename 'branch -m'
Se sei su Windows o su un altro filesystem senza distinzione tra maiuscole e minuscole e ci sono solo modifiche alle maiuscole nel nome, devi usare -M, altrimenti git genererà un errore già esistente:
git branch -M 
|
git branch -m old_branch_name new_branch_name
Il comando precedente cambierà il nome del tuo ramo, ma devi stare molto attento usando il ramo rinominato, perché farà ancora riferimento al vecchio ramo a monte associato, se esiste.
Se vuoi inserire alcune modifiche nel master dopo che il tuo ramo locale è stato rinominato in new_branch_name (nome di esempio):
git push origin new_branch_name: master (ora le modifiche andranno al ramo master ma il nome del tuo branch locale è new_branch_name)
Per maggiori dettagli, vedi "Come rinominare il nome del ramo locale in Git".
|
Per rinominare il tuo ramo attuale:
git branch -m 
|
Ecco i passaggi per rinominare il ramo:
Passa al ramo che deve essere rinominato
git branch -m 
git push origin: 
git push origin : refs / heads / 
EDIT (12/01/2017): assicurati di eseguire il comando git status e controlla che il ramo appena creato punti al proprio ref e non a quello più vecchio. Se trovi il riferimento al ramo più vecchio, devi annullare l'impostazione dell'upstream utilizzando:
git branch --unset-upstream
|
Rinominare il ramo sarà utile una volta terminato il tuo ramo. Quindi stanno arrivando nuove cose e vuoi sviluppare nello stesso ramo invece di eliminarlo e creare quello nuovo.
Dalla mia esperienza, per rinominare un ramo locale e remoto in Git dovresti fare i seguenti passaggi.
Citando da più stati: rinomina un ramo locale e remoto in
idiota
1. Rinomina la tua filiale locale
Se ti trovi nella filiale che vuoi rinominare:
git branch -m nuovo-nome
Se ti trovi in ​​una filiale diversa:
git branch -m vecchio-nome nuovo-nome
2. Eliminare il ramo remoto vecchio nome e inviare il ramo locale nuovo nome
git push origin: vecchio nome nuovo nome
3. Reimpostare il ramo upstream per il ramo locale nuovo nome
git push origin -u nuovo-nome
|
Le risposte finora sono state corrette, ma ecco alcune informazioni aggiuntive:
Si può tranquillamente rinominare un ramo con '-m' (sposta), ma bisogna stare attenti con '-M', perché forza il rinomina, anche se esiste già un ramo con lo stesso nome. Ecco l'estratto dalla pagina man "git-branch":
Con un'opzione -m o -M,  verrà rinominato in . Se  aveva un reflog corrispondente, viene rinominato in modo che corrisponda a  e viene creata una voce reflog per ricordare la ridenominazione del ramo. Se esiste , è necessario utilizzare -M per forzare la ridenominazione.
|
1. Rinomina
Se è il tuo ramo attuale, fallo e basta
git branch -m new_name
Se è un altro ramo che vuoi rinominare
git branch -m old_name new_name
2. Traccia un nuovo ramo remoto
- Se il tuo ramo è stato inviato, dopo aver rinominato devi eliminarlo dal repository Git remoto e chiedere al tuo nuovo locale di tracciare un nuovo ramo remoto:
git push origin: old_name
git push --set-upstream origin new_name
|
Ho scioccamente chiamato un ramo che inizia con un trattino, e poi ho estratto master. Non volevo eliminare il mio ramo, avevo del lavoro in esso.
Nessuno di questi ha funzionato:
git checkout -dumb-name
git checkout - -dumb-name
"s, e \ s non hanno aiutato neanche. git branch -m non funziona.
Ecco come l'ho finalmente risolto. Vai nel file .git / refs / heads della tua copia di lavoro, trova il nome del file "-dumb-name", ottieni l'hash del ramo. Quindi questo controllerà, creerà un nuovo ramo con un nome sano ed eliminerà quello vecchio.
git checkout {hash}
git checkout -b nome-brillante
git branch -d - -dumb-name
|
Per rinominare un ramo localmente:
git branch -m [old-branch] [new-branch]
Ora dovrai propagare queste modifiche anche sul tuo server remoto.
Per eseguire il push delle modifiche del vecchio ramo eliminato:
git push origin: [old-branch]
Per inviare modifiche alla creazione di un nuovo ramo:
git push origin [new-branch]
|
Solo tre passaggi per replicare la modifica del nome su remoto e su GitHub:
Passaggio 1 git branch -m old_branchname new_branchname
Passaggio 2 git push origin: old_branchname new_branchname
Passaggio 3 git push --set-upstream origin new_branchname
|
Rinomina il ramo usando questo comando:
git branch -m [old_branch_name] [new_branch_name]
-m: Rinomina / sposta il ramo. Se esiste già un ramo, riceverai un errore.
Se c'è già un ramo e vuoi rinominare con quel ramo, usa:
git rename -M [old_branch_name] [new_branch_name]
Per ulteriori informazioni sulla guida, utilizzare questo comando nel terminale:
git branch --help
o
man gitramo
|
Gli utenti avanzati di Git possono rinominare manualmente utilizzando:
Rinomina il vecchio ramo in .git / refs / heads con il nuovo nome
Rinomina il vecchio ramo in .git / logs / refs / heads con il nuovo nome
Aggiorna .git / HEAD in modo che punti al tuo nuovo nome di ramo
|
Rinomina la tua filiale locale.
Se ti trovi nella filiale che vuoi rinominare:
git branch -m nuovo-nome
Se ti trovi in ​​una filiale diversa:
git branch -m vecchio-nome nuovo-nome
Elimina il ramo remoto con il vecchio nome e invia il ramo locale con il nuovo nome.
git push origin: vecchio nome nuovo nome
Reimposta il ramo a monte per il ramo locale del nuovo nome.
Passa alla filiale e poi:
git push origin -u nuovo-nome
O per un modo veloce per farlo, puoi utilizzare questi 3 passaggi:
# Rinomina il ramo localmente
git branch -m old_branch new_branch
# Elimina il vecchio ramo remoto
git push origine: old_branch
# Spingi il nuovo ramo, imposta il ramo locale per tracciare il nuovo telecomando
git push --set-upstream origin new_branch
Riferimento: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
|
Ecco tre passaggi: Un comando che puoi chiamare all'interno del tuo terminale e cambiare il nome del ramo.
git branch -m old_branch new_branch # Rinomina il branch localmente
git push origin: old_branch # Elimina il vecchio ramo
git push --set-upstream origin new_branch # Spinge il nuovo ramo, imposta il ramo locale per tracciare il nuovo telecomando
Se hai bisogno di più: passo dopo passo, How To Change Git Branch Name è un buon articolo a riguardo.
|
Probabilmente, come menzionato da altri, si tratterà di una mancata corrispondenza del caso nella denominazione dei rami.
Se hai una situazione del genere, posso immaginare che tu sia su Windows, il che ti porterà anche a:
$ git branch -m CaseSensitive caseensitive
irreversibile: esiste già un ramo denominato "caseensitive".
Quindi devi fare un passaggio intermedio:
$ git branch -m temporaneo
$ git branch -m caseensitive
Niente di più.
|
Cercando di rispondere in modo specifico alla domanda (almeno il titolo).
Puoi anche rinominare il ramo locale, ma continua a tenere traccia del vecchio nome sul telecomando.
git branch -m old_branch new_branch
git push --set-upstream origin new_branch: old_branch
Ora, quando esegui git push, il ref old_branch remoto viene aggiornato con il tuo new_branch locale.
Devi conoscere e ricordare questa configurazione. Ma può essere utile se non hai la possibilità di scegliere il nome del ramo remoto, ma non ti piace (oh, voglio dire, hai un'ottima ragione per non piacerti!) E preferisci una più chiara nome della filiale locale.
Giocando con la configurazione fetch, puoi persino rinominare il riferimento remoto locale. cioè, avere un puntatore refs / remote / origin / new_branch ref al ramo, che in realtà è il vecchio_branch su origin. Tuttavia, lo sconsiglio vivamente, per la sicurezza della tua mente.
|
Cambiare il ramo localmente è abbastanza semplice ...
Se ti trovi nella filiale di cui vuoi cambiare il nome, fai semplicemente questo:
git branch -m my_new_branch
Altrimenti, se sei su master o su qualsiasi altro ramo diverso da quello di cui vorresti cambiare il nome, fai semplicemente:
git branch -m my_old_branch my_new_branch
Inoltre, creo l'immagine qui sotto per mostrarlo in azione su una riga di comando. In questo caso, sei sul ramo principale, ad esempio:
|
Se sei disposto a utilizzare SourceTree (che consiglio vivamente), puoi fare clic con il pulsante destro del mouse sul tuo ramo e scegliere "Rinomina".
|
Per rinominare il ramo corrente (eccetto per lo stato HEAD scollegato) puoi anche usare questo alias:
[alias]
mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1'
|
Un'altra opzione è non utilizzare affatto la riga di comando. I client Git GUI come SourceTree eliminano gran parte della curva di apprendimento sintattico / dolore che fa sì che domande come questa siano tra le più viste su Stack Overflow.
In SourceTree, fai clic con il pulsante destro del mouse su qualsiasi ramo locale nel riquadro "Branches" a sinistra e seleziona "Rinomina ...".
|
Un modo semplice per farlo:
git branch -m old_branch new_branch # Rinomina il branch localmente
git push origin: old_branch # Elimina il vecchio ramo
git push --set-upstream origin new_branch # Spinge il nuovo ramo, imposta il ramo locale per tracciare il nuovo telecomando
Per ulteriori informazioni, vedere questo.
|
Poiché non si desidera eseguire il push del ramo su un server remoto, questo esempio sarà utile:
Supponiamo che tu abbia un ramo esistente chiamato "my-hot-feature" e desideri rinominarlo in "feature-15".
Innanzitutto, vuoi cambiare la tua filiale locale. Non potrebbe essere più facile:
git branch -m my-hot-feature feature-15
Per ulteriori informazioni, puoi visitare Rinomina locale e remota di un ramo in Git.
|
Git versione 2.9.2
Se vuoi cambiare il nome della filiale locale in cui ti trovi:
git branch -m new_name
Se vuoi cambiare il nome di un ramo diverso:
git branch -m old_name new_name
Se vuoi cambiare il nome di un ramo diverso con un nome già esistente:
git branch -M old_name new_name_that_already_exists
Nota: l'ultimo comando è distruttivo e rinominerà il tuo ramo, ma perderai il vecchio ramo con quel nomee questi commit perché i nomi dei rami devono essere univoci.
|
Se vuoi cambiare il nome del ramo corrente, esegui:
git branch -m [old_branch] [new_branch]
Se vuoi eliminare il vecchio ramo remoto, esegui:
git push origin: [old_branch]
Se vuoi eliminare il vecchio ramo remoto e creare un nuovo ramo remoto, esegui:
git push origin: old_branch new_branch
|
In realtà hai tre passaggi perché il ramo locale ha un duplicato sul server quindi abbiamo un passaggio per locale su due passaggi sul server:
Rinomina locale: usa il seguente comando per rinominare il tuo ramo attuale, anche se l'hai verificato:
git branch -m  
Elimina quello del server: usa il seguente comando per eliminare il vecchio ramo del nome sul server:
git push : 
Push il nuovo: ora è il momento di spingere il nuovo ramo denominato sul server:
git push -u 
|
La ridenominazione del ramo Git può essere eseguita utilizzando:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
La differenza tra -m e -M:
-m: se stai cercando di rinominare il tuo ramo con un nome di ramo esistente usando -m.
Solleverà un errore dicendo che il ramo esiste già. Devi dare un nome univoco.
Ma,
-M: questo ti aiuterà a forzare la ridenominazione con un dato nome, anche se esiste. Quindi un ramo esistente verrà sovrascritto interamente con esso ...
Ecco un esempio di terminale Git,
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch
maestro
master0
new_master
test
* test1
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test
irreversibile: esiste già un ramo denominato "test".
mohideen @ dev: ~ / project / miaapp / sunithamakeup $ git branch -M test1 test
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch
maestro
master0
new_master
* test
mohideen @ dev: ~ / project / myapp / sunithamakeup $
|
Per gli utenti di Git GUI non potrebbe essere molto più semplice.
In Git GUI, scegli il nome del ramo dall'elenco a discesa nella finestra di dialogo "Rinomina ramo" creato dalla voce di menu Ramo: Rinomina, digita un Nuovo nome e fai clic su "Rinomina". Ho evidenziato dove trovare l'elenco a discesa.
|
Tutte le risposte precedenti parlano di git branch -m. Ovviamente è facile da usare, ma per me potrebbe essere un po 'difficile ricordare un altro comando Git. Quindi ho cercato di portare a termine il lavoro con il comando che conoscevo. Sì, puoi indovinare.
Uso git branch -b . E se non vuoi salvare il vecchio ramo ora puoi eseguire git branch -D  per rimuoverlo.
So che potrebbe essere un po 'noioso, ma è più facile da capire e ricordare. Spero che ti sia utile.
|
Se lo desidera:
Rinomina il repository Git, esegui: git branch -m  
Elimina il vecchio ramo con: git push origin: old-name new-name
Effettua il commit usando: git commit 
e quindi eseguire il push utilizzando: git push origin new_branch_name: master
Se vuoi controllare lo stato usa: git status
Se vuoi fare il check-out, usa: git checkout
|
Prima di iniziare, assicurati di aver selezionato il ramo che desideri rinominare:
git checkout vecchio nome
Se vuoi vedere tutti i tuoi rami locali, usa il seguente comando:
git branch --list
Quando tutto è chiaro, segui questi passaggi:
L'uso del comando Git rename branch richiederà di aggiungere un'opzione -m al tuo comando:
git branch -m nuovo-nome
Puoi anche rinominare un ramo locale da un altro ramo utilizzando i seguenti due comandi:
git checkout master
git branch -m vecchio-nome nuovo-nome
Infine, questo comando elencherà tutti i rami, sia locali che remoti, per verificare che sia stato rinominato:
git branch -a
Sebbene non sia possibile rinominare direttamente un ramo remoto, il processo di ridenominazione di uno prevede questi tre semplici passaggi:
Per iniziare, dovrai rinominare un ramo locale seguendo i passaggi precedenti.
2. Quindi eliminare il vecchio ramo e premere quello nuovo. Puoi farlo facilmente con i seguenti comandi:
git push origin - elimina il vecchio nome
git push origin: vecchio nome nuovo nome
Ripristina il ramo a monte per il tuo nuovo ramo locale e sarai pronto:
git push origin -u nuovo-nome
|
1
2
Il prossimo
Domanda molto attiva. Guadagna 10 punti reputazione per rispondere a questa domanda. Il requisito di reputazione aiuta a proteggere questa domanda dallo spam e dalle attività di mancata risposta.
Non è la risposta che stai cercando? Sfoglia altre domande contrassegnate con git version-control git-branch o fai la tua domanda.